/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejb.registrazione;

import applicationexcepcion.AccountRegistratoException;
import applicationexcepcion.AddettoNegozioException;
import applicationexcepcion.AmministratoreExeption;
import applicationexcepcion.ClienteCodiceFiscaleNullException;
import applicationexcepcion.ClienteNonValidoException;
import applicationexcepcion.ClienteNullException;
import applicationexcepcion.MarchioRegistratoException;
import applicationexcepcion.NegozioException;
import applicationexcepcion.PersonaRegistrataException;
import applicationexcepcion.ProdottoException;
import applicationexcepcion.RepartoRegistratoException;
import entity.AddettoNegozio;
import entity.Amministratore;
import entity.Comune;
import entity.Foto;
import entity.Marchio;
import entity.Negozio;
import entity.Reparto;
import java.sql.Date;
import javax.ejb.Local;

/**
 *
 * @author Carmela
 */
@Local
public interface RegistrazioneLocal {
    
    public void registraCliente(String nome, String cognome,
            String codiceFiscale,Date dataNascita, String numTelefono, Comune comune, String via, String username, String password) throws PersonaRegistrataException, ClienteNullException,
            ClienteCodiceFiscaleNullException, ClienteNonValidoException,AccountRegistratoException;

    void registrazioneMarchio(String nomeMarchio, byte[] foto, String fotoNome) throws MarchioRegistratoException;

    void registrazioneReparto(String nomeReparto) throws RepartoRegistratoException;

    void registrazioneProdotto(Long codiceBarre, String nome, String descrizione, Marchio marchio,Foto f, Reparto reparto) throws ProdottoException;

    void registrazioneNegozio(Negozio Negozio) throws NegozioException;

    void registraAddettoNegozio(AddettoNegozio addettoNegozio) throws AddettoNegozioException;

    void registraAmministratore(Amministratore amministratore) throws AmministratoreExeption;
    
}
